package printer

type Printer struct {
	Name      string `json:"name"`
	Status    string `json:"status"`
	IsDefault bool   `json:"isDefault"`
}

type PrinterOptions struct {
	PaperSizes   []string    `json:"paperSizes"`
	Orientations []string    `json:"orientations"`
	Copies       CopiesRange `json:"copies"`
}

type CopiesRange struct {
	Min int `json:"min"`
	Max int `json:"max"`
}

type PrintFile struct {
	Name          string `json:"name"`
	ContentBase64 string `json:"contentBase64"`
}

type PrintJobRequest struct {
	Printer string                 `json:"printer"`
	Options map[string]interface{} `json:"options"`
	Files   []PrintFile            `json:"files"`
}

type PrintJobResponse struct {
	JobIds []int  `json:"jobIds"`
	Status string `json:"status"`
}

type PrintJobStatus struct {
	JobId   int    `json:"jobId"`
	Status  string `json:"status"`
	Message string `json:"message"`
}
